程序签名

2018.8.16 星期四 16:03

sign.bat

1
2
3
.\tools\signtool3.exe sign /a /s MY /n "Compa Pte Ltd" /fd sha256 -d "studioserveredit" -du http://www.compa.com -tr http://sha256timestamp.ws.symantec.com/sha256/timestamp .\studioserveredit.exe

pause

签名

SignTool.exe(签名工具)
SignTool.exe(签名工具))

signtool [command] [options] [file_name | …]

参考一

# signtool.exe 对exe程序进行数字签名

signtool.exe是微软的数字签名制作工具,只能制作windows平台的签名,

本使用指南演示如何使用 WoSign微软代码签名证书 来给Windows平台代码签名,签名工具为WDK自带的签名工具软件 SignTool.exe,此签名工具软件仅支持DOS命令符方式签名。如果您希望使用图形化界面签名您的代码,则建议使用老版本的签名工具 SignCode.exe,并请参考 SignCode微软代码签名指南。

1. 获取代码签名证书:
成功在沃通申请代码签名证书后,会得到一个有密码的压缩包文件,输入证书密码后解压得到两个文件: pfx+MS、 pvk+spc,这个是证书的两种种格式,签名普通代码需要用到 pfx 格式的证书:
2. 解压证书文件:
打开 pfx+MS 文件可以看到3个文件。我们要用到pfx格式的文件,如图
3. 用SignTool签名工具签名(方法一):
现在,就可以使用WDK的 SignTool 签名你的文件了,点这里 下载 Signtool签名工具。请先将您的证书XXX.pfx文件放到签名signtool工具所在目录签名命令行为:

1
2
3
4
XP,Win7用户:
signtool sign /v /f xxx.pfx /p 密码 /t http://timestamp.wosign.com/timestamp test.cab
Win7,Win8用户:
signtool sign /v /f xxx.pfx /p 密码 /tr http://timestamp.wosign.com/rfc3161 test.cab

其中:
(1) /v:显示详细的签名结果;
(2) /f xx.pfx:加载代码签名证书。请把颁发给你的用户证书放到signtool目录下,或者指定文件路径;
(3) /p 密码:申请证书时候设置的密码;
(4) /t,/tr:为代码加上WoSign免费时间戳,确保签名后的代码永不过期;
(5) test.cab: 就是您要签名的Windows文件,如:.cab, .dll, .exe 等文件;
(6) 如果您需要批量签名: 请点击这里

请注意:签名时,一定要保证能连上互联网,否则由于无法访问时间戳服务器而失败。

签名完成后,如果显示“Successfully signed and timestamped”(成功签名与加上时间戳),如下图所示,这表明签名已经成功:

参考二

# 如何对EXE程序进行数字签名
一、首先获取代码GDCA代码签名证书
成功申请恒信企业(EV)或者速信个人代码签名证书后,会收到一个包含证书文件的USB-key,如下图:
二、使用代码签名证书对代码进行签名
1.先请下载USBkey驱动—下载
2.下载Signtool签名软件,选择一个盘符进行保存,进入cmd命令,cd到这个目录;
3.使用以下签名命令对代码进行签名,签名过程需要输入设置的PIN码;

signtool sign /v /fd sha256 /i “GDCA TrustAUTH R4 EV CodeSigning CA” /tr http://timestamp.gdca.com.cn/tsa test.exe
signtool sign /v /fd sha256 /i “GDCA TrustAUTH R4 CodeSigning CA” /tr http://timestamp.gdca.com.cn/tsa test.exe

# 白话数字签名(番外篇)——签名EXE文件(上)
Step1: 登录www.ca365.com,在“免费证书”栏中点击“用表格申请证书”链接。

# 对exe文件进行数字签名

1
2
3
4
5
6
7
8
def signtool(filename):
import subprocess
signtool_exe = r'C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\signtool.exe'
pfx_file = 'c:\\mycert.pfx'
cmd = '%s sign /f %s /p password /v %s' % (signtool_exe, pfx_file, filename)
print cmd
proc = subprocess.Popen(cmd)
proc.wait()

10:28


2018.8.9 星期四 10:03

Visual Studio 编译和打包

生成解决方案/重新生成解决方案

# 介绍解决方案、项目和项
Visual Studio 提供了两类容器,帮助您有效地管理开发工作所需的项,如引用、数据连接、文件夹和文件。这两类容器分别叫做解决方案和项目。
此外,Visual Studio 还提供解决方案文件夹,用于将相关的项目组织成项目组,然后对这些项目组执行操作。
作为查看和管理这些容器及其关联项的界面,“解决方案资源管理器”是集成开发环境 (IDE) 的一部分。

# Visual Studio 中的解决方案和项目
## 项目
## 解决方案
项目包含在解决方案中。 解决方案可能包含一个或多个相关项目,以及生成信息、Visual Studio 窗口设置和不与特定项目关联的任何杂项文件。 解决方案由格式唯一的文本文件(扩展名 .sln)描述;不应对其进行手动编辑。
Visual Studio 采用两种文件类型(.sln 和 .suo)来存储解决方案设置:
.sln Visual Studio 解决方案 将项目、项目项和解决方案项组织到解决方案中。
.suo 解决方案用户选项 存储用户级别设置和自定义项,如断点。

打包安装程序

首先在官网下载VS2015的Visual Studio Installer
安装打包插件:Microsoft Visual Studio 2017 Installer Projects
下载打包工具InstallShield2013LimitedEdition

以前使用该方式,后来就改为脚本了:
1. 好像要收费
1. 有些东西仍然需要脚本/插件 自己写,比如安装过程中的一些提示信息

10:28

不同平台工具

资源管理器——文件夹,命令行工具都不一样
win: svn(乌龟),sourcetree, nodepad++, visualstudio, Venis IX, Poedit ; .bat,.vbs
mac: cornercode, 章鱼, sublime, xcode; dropdmg *.sh
ubantu:

nsis打包

参考:[NSIS实用]

NSIS实用

knowledge is no pay,reward is kindness
0%